home *** CD-ROM | disk | FTP | other *** search
/ Amiga Format CD 49 / Amiga Format CD49 (2000-01-17)(Future Publishing)(GB)(Track 1 of 3)[!][issue 2000-02].iso / -serious- / programming / mui / mcc_popph / mcc_popph_src / muiundoc.h < prev    next >
C/C++ Source or Header  |  1999-11-30  |  9KB  |  262 lines

  1. /***************************************************************************
  2. ** The Hacker's include to MUI v1.8 :-)
  3. **
  4. ** Copyright 1997-98 by Alessandro Zummo
  5. ** azummo@ita.flashnet.it
  6. **
  7. ** This include is unofficial, use at your own risk!
  8. **
  9. ** You can also find other undocumented tags in libraries/mui.h :-)
  10. **
  11. ****************************************************************************
  12. ** Class Tree
  13. ****************************************************************************
  14. **
  15. ** rootclass                   (BOOPSI's base class)
  16. ** +--Notify                   (implements notification mechanism)
  17. ** !  +--Area                  (base class for all GUI elements)
  18. ** !     +--Framedisplay       (displays frame specification)
  19. ** !     !  \--Popframe        (popup button to adjust a frame spec)
  20. ** !     +--Imagedisplay       (displays image specification)
  21. ** !     !  \--Popimage        (popup button to adjust an image spec)
  22. ** !     +--Pendisplay         (displays a pen specification)
  23. ** !     !  \--Poppen          (popup button to adjust a pen spec)
  24. ** !     +--Group              (groups other GUI elements)
  25. ** !        +--Register        (handles page groups with titles)
  26. ** !        !  \--Penadjust    (group to adjust a pen)
  27. ** !        +--Frameadjust     (group to adjust a frame)
  28. ** !        +--Imageadjust     (group to adjust an image)
  29. **
  30. */
  31.  
  32.  
  33. #ifndef MUI_UNDOC_H
  34. #define MUI_UNDOC_H
  35.  
  36.  
  37. //Uncomment this if you want be able to use all the undocumented features
  38. //But remember to modify your libraries/mui.h include
  39.  
  40. //#define UNDOC_HACK
  41.  
  42.  
  43. /*************************************************************************
  44. ** Black box specification structures for images, pens, frames            
  45. *************************************************************************/
  46.  
  47. /* Defined in mui.h
  48. struct MUI_PenSpec
  49. {
  50.     char buf[32];
  51. };
  52. */
  53.  
  54. struct MUI_ImageSpec
  55. {
  56.   char buf[64];
  57. };
  58.  
  59. struct MUI_FrameSpec
  60. {
  61.   char buf[32];
  62. };
  63.  
  64.  
  65. // I'm not sure if MUI_ImageSpec and MUI_FrameSpec are 32 or 64 bytes wide.
  66.  
  67. /*************************************************************************
  68. ** The real MUI_NotifyData structure
  69. *************************************************************************/
  70.  
  71. #ifdef UNDOC_HACK
  72.  
  73. struct MUI_NotifyData
  74. {
  75.     struct MUI_GlobalInfo *mnd_GlobalInfo;
  76.     ULONG                  mnd_UserData;
  77.     ULONG                  mnd_ObjectID; 
  78.     ULONG priv1;
  79.     Object                  *mnd_ParentObject; // The name may not be the real one
  80.     ULONG priv3;
  81.     ULONG priv4;
  82. };
  83.  
  84. #define _parent(obj)    (muiNotifyData(obj)->mnd_ParentObject) /* valid between MUIM_Setup/Cleanup */
  85.  
  86. #else
  87.  
  88. #define _parent(obj)    xget(obj,MUIA_Parent)
  89.  
  90. #endif
  91.  
  92.  
  93. // The use of _parent(obj) macro is strictly forbidden! Use xget(obj,MUIA_Parent) instead.
  94.  
  95.  
  96. /****************************************************************************/
  97. /** Flags                                                                  **/
  98. /****************************************************************************/
  99.  
  100. #define MADF_OBJECTVISIBLE     (1<<14) // The object is visible
  101.  
  102. #define MUIMRI_INVIRTUALGROUP  (1<<29) // The object is inside a virtual group
  103. #define MUIMRI_ISVIRTUALGROUP  (1<<30) // The object is a virtual group
  104.  
  105.  
  106. /****************************************************************************/
  107. /** Crawling                                                               **/
  108. /****************************************************************************/
  109.  
  110. #ifdef _DCC
  111. extern char MUIC_Crawling[];
  112. #else
  113. #define MUIC_Crawling "Crawling.mcc"
  114. #endif
  115.  
  116. #define CrawlingObject MUI_NewObject(MUIC_Crawling
  117.  
  118.  
  119. /****************************************************************************/
  120. /** Application                                                            **/
  121. /****************************************************************************/
  122.  
  123. /* Attributes */
  124.  
  125. #define MUIA_Application_UsedClasses     0x8042E9A7 /* V20 (!) */
  126.  
  127.  
  128. /****************************************************************************/
  129. /** Window                                                                 **/
  130. /****************************************************************************/
  131.  
  132. /* Methods */
  133.  
  134. #define MUIM_Window_ActionIconify 0x80422cc0 /* V18 */
  135. #define MUIM_Window_Cleanup       0x8042ab26 /* Custom Class */ /* V18 */
  136. #define MUIM_Window_Setup         0x8042c34c /* Custom Class */ /* V18 */
  137.  
  138. struct  MUIP_Window_Cleanup       { ULONG MethodID; }; /* Custom Class */
  139. struct  MUIP_Window_Setup         { ULONG MethodID; }; /* Custom Class */
  140.  
  141. /* Attributes */
  142.  
  143. #define MUIA_Window_DisableKeys   0x80424c36 /* V15 isg ULONG */ 
  144.  
  145.  
  146. /****************************************************************************/
  147. /** Area                                                                   **/
  148. /****************************************************************************/
  149.  
  150. /* Methods */
  151.  
  152. #define MUIM_DoDrag          0x804216bb /* V18 */ /* Custom Class */
  153. #define MUIM_CreateDragImage 0x8042eb6f /* V18 */ /* Custom Class */
  154. #define MUIM_DeleteDragImage 0x80423037 /* V18 */ /* Custom Class */
  155. #define MUIM_GoActive        0x8042491a
  156. #define MUIM_GoInactive      0x80422c0c
  157. #define MUIM_CustomBackfill  0x80428d73
  158.  
  159. struct  MUIP_CustomBackfill  { ULONG MethodID; LONG left; LONG top; LONG right; LONG bottom; LONG xoffset; LONG yoffset; };
  160. struct  MUIP_DeleteDragImage { ULONG MethodID; struct MUI_DragImage *di; };              /* Custom Class */
  161. struct  MUIP_CreateDragImage { ULONG MethodID; LONG touchx; LONG touchy; ULONG flags; }; /* Custom Class */
  162. struct  MUIP_DoDrag          { ULONG MethodID; LONG touchx; LONG touchy; ULONG flags; }; /* Custom Class */
  163.  
  164. /* Attributes */
  165.  
  166. #define MUIA_CustomBackfill  0x80420a63
  167.  
  168.  
  169. #define MUIV_CreateBubble_DontHidePointer (1<<0)
  170.  
  171. struct MUI_DragImage
  172. {
  173.     struct BitMap *bm;
  174.     WORD width;  /* exact width and height of bitmap */
  175.     WORD height;
  176.     WORD touchx; /* position of pointer click relative to bitmap */
  177.     WORD touchy;
  178.     ULONG flags; /* must be set to 0 */
  179. };
  180.  
  181.  
  182. /****************************************************************************/
  183. /** Imagedisplay                                                           **/
  184. /****************************************************************************/
  185.  
  186. /* Attributes */
  187.  
  188. #define MUIA_Imagedisplay_Spec 0x8042a547 /* V11 isg struct MUI_ImageSpec * */
  189.  
  190.  
  191. /****************************************************************************/
  192. /** Imageadjust                                                            **/
  193. /****************************************************************************/
  194.  
  195. /* Attributes */
  196.  
  197. #define MUIA_Imageadjust_Type  0x80422f2b /* V11 i.. LONG */
  198.  
  199.  
  200. /****************************************************************************/
  201. /** Framedisplay                                                           **/
  202. /****************************************************************************/
  203.  
  204. /* Attributes */
  205.  
  206. #define MUIA_Framedisplay_Spec 0x80421794 /* isg struct MUI_FrameSpec * */
  207.  
  208.  
  209. /****************************************************************************/
  210. /** Prop                                                                   **/
  211. /****************************************************************************/
  212.  
  213. /* Attributes */
  214.  
  215. #define MUIA_Prop_DeltaFactor 0x80427c5e /* V4 .s. LONG */ 
  216. #define MUIA_Prop_DoSmooth    0x804236ce /* V4 i.. LONG */ 
  217. #define MUIA_Prop_Release     0x80429839 /* V? g BOOL */ /* private */
  218. #define MUIA_Prop_Pressed     0x80422cd7 /* V6 g BOOL */ /* private */
  219.  
  220.  
  221. /****************************************************************************/
  222. /** Group                                                                  **/
  223. /****************************************************************************/
  224.  
  225. /* Attributes */
  226.  
  227. #define MUIA_Group_Forward    0x80421422 /* V11 .s. BOOL */
  228.  
  229. /****************************************************************************/
  230. /** List                                                                   **/
  231. /****************************************************************************/
  232.  
  233. /* Attributes */
  234.  
  235. #define MUIA_List_Prop_Entries  0x8042a8f5 /* V? ??? */
  236. #define MUIA_List_Prop_Visible  0x804273e9 /* V? ??? */
  237. #define MUIA_List_Prop_First    0x80429df3 /* V? ??? */
  238.  
  239.  
  240. /****************************************************************************/
  241. /** Text                                                                   **/
  242. /****************************************************************************/
  243.  
  244. /* Attributes */
  245.  
  246. #define MUIA_Text_HiCharIdx   0x804214f5
  247.  
  248.  
  249. /****************************************************************************/
  250. /** Dtpic                                                                  **/
  251. /****************************************************************************/
  252.  
  253. /* Attributes */
  254.  
  255. #define MUIA_Dtpic_Name 0x80423d72
  256.  
  257.  
  258. #endif /* MUI_UNDOC_H */
  259.  
  260.  
  261.  
  262.